<p>Non-overridable methods (<code>private</code> or <code>final</code>) that don’t access instance data can be <code>static</code> to prevent any
misunderstanding about the contract of the method.</p>
<h2>Noncompliant Code Example</h2>
<pre>
class Utilities {
  private static String magicWord = "magic";

  private String getMagicWord() { // Noncompliant
    return magicWord;
  }

  private void setMagicWord(String value) { // Noncompliant
    magicWord = value;
  }

}
</pre>
<h2>Compliant Solution</h2>
<pre>
class Utilities {
  private static String magicWord = "magic";

  private static String getMagicWord() {
    return magicWord;
  }

  private static void setMagicWord(String value) {
    magicWord = value;
  }

}
</pre>
<h2>Exceptions</h2>
<p>When <code>java.io.Serializable</code> is implemented the following three methods are excluded by the rule:</p>
<ul>
  <li> <code>private void writeObject(java.io.ObjectOutputStream out) throws IOException;</code> </li>
  <li> <code>private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;</code> </li>
  <li> <code>private void readObjectNoData() throws ObjectStreamException;</code> </li>
</ul>

